#include "hcpp/ptp2_lut.h"

int8_t
ptp2_lut_entry_cmp(ptp2_lut_entry_t *lut_entry_a, ptp2_lut_entry_t *lut_entry_b)
{
    uint8_t     idx;

    /* compare address */
    for (idx = 0; idx < PTP2_LUT_ENTRY_RAW_LEN; idx++) {
        if (ntohl(lut_entry_a->raw[idx]) < ntohl(lut_entry_b->raw[idx])) return -1;
        if (ntohl(lut_entry_a->raw[idx]) > ntohl(lut_entry_b->raw[idx])) return  1;
    }

    /* compare address type */
    if (lut_entry_a->type < lut_entry_b->type)   return -1;
    if (lut_entry_a->type > lut_entry_b->type)   return  1;

    return 0;
}

